home *** CD-ROM | disk | FTP | other *** search
/ Revista CD Expert 8 / Revista CD Expert nº 08 CD1.iso / Utilitarios / Programacao / MS-DOS Interrupt List / Inter60b / MSR.LST < prev    next >
Encoding:
File List  |  1999-01-03  |  65.8 KB  |  1,783 lines

  1. MODEL-SPECIFIC REGISTERS    Release 60        Last change 03jan99
  2. Copyright (c) 1996,1997,1998,1999 Ralf Brown
  3.  
  4. --------!---Note-----------------------------
  5. Note:    except where mentioned otherwise, Pentium information also applies to
  6.       the PentiumMMX, and Pentium Pro information also applies to the
  7.       Pentium II
  8. ----------S00000000--------------------------
  9. MSR 00000000h - Pentium, Pentium Pro - MACHINE CHECK EXCEPTION ADDRESS
  10. Size:    32-36 bits
  11. Access:    Read
  12. Desc:    on any Machine Check exception (INT 12), this MSR contains the physical
  13.       address at which the exception occurred
  14. Notes:    also supported by AMD Am5k86, K5, and K6; however, the K6 does not
  15.       actually support the machine check -- this register may be written
  16.       on the K6 to emulate that functionality
  17.     this register does not exist on the PentiumII, but will not cause an
  18.       exception when accessed
  19. SeeAlso: MSR 00000001h,MSR 80000000h,INT 12"MACHINE CHECK"
  20. ----------S00000001--------------------------
  21. MSR 00000001h - Pentium, Pentium Pro - MACHINE CHECK EXCEPTION TYPE
  22. Size:    6 bits
  23. Access:    Read
  24. Desc:    when a Machine Check exception occurs, this register contains the
  25.       reason for the exception
  26. Notes:    also supported by AMD Am5k86, K5, and K6; however, the K6 does not
  27.       actually support the machine check -- this register may be written
  28.       on the K6 to emulate that functionality
  29.     this register does not exist on the PentiumII, but will not cause an
  30.       exception when accessed
  31. SeeAlso: MSR 00000000h,MSR 80000001h,INT 12"MACHINE CHECK"
  32.  
  33. Bitfields for Machine Check Exception type (MSR 00000001h):
  34. Bit(s)    Description    (Table R0001)
  35.  63-6    reserved (0)
  36.  5    "FERI" Fan Error Indicator (Pentium OverDrive only) -- CPU overheated
  37.     (once set, this bit remains set even through CPU reset)
  38.  4    bus cycle causing exception was locked
  39.  3    state of M/IO# pin during bus cycle
  40.  2    state of D/C# pin during bus cycle
  41.  1    state of W/R# pin during bus cycle
  42.  0    Machine Check pending (cleared by reading this MSR)
  43. ----------S00000002--------------------------
  44. MSR 00000002h - Pentium - (TR1) PARITY REVERSAL TEST REGISTER
  45. Size:    14 bits
  46. Access:    Write
  47. SeeAlso: MSR 00000004h,MSR 80000002h
  48.  
  49. Bitfields for Parity Reversal Test Register (TR1):
  50. Bit(s)    Description    (Table R0002)
  51.  63-14    reserved (0)
  52.  13    microcode
  53.  12    Data TLB data
  54.  11    Data TLB tag
  55.  10    Data Cache data
  56.  9    Data Cache tag
  57.  8    Code TLB data
  58.  7    Code TLB tag
  59.  6    "ID3" data cache odd bits 129-255
  60.  5    "ID2" data cache even bits 128-254
  61.  4    "ID1" data cache odd bits 1-127
  62.  3    "ID0" data cache even bits 0-126
  63.  2    instruction cache tag
  64.  1    do not go into SHUTDOWN mode on parity error
  65.  0    (read/write-clear) "Parity Error Summary" set on any parity error
  66. Notes:    bits 2-13 indicate that the parity should be reversed for the given
  67.       subsystem, thus always forcing a parity error
  68.     the Centaur (IDT) WinChip C6 supports bit 1 (no shutdown)
  69. ----------S00000003--------------------------
  70. MSR 00000003h - Pentium - INVALID
  71. Note:    attempted accesses to this MSR cause an exception
  72. SeeAlso: MSR 80000003h,MSR 0000000Fh
  73. ----------S00000003--------------------------
  74. MSR 00000003h - Cyrix M2 - TEST DATA
  75. SeeAlso: MSR 00000004h"Cyrix"
  76. ----------S00000004--------------------------
  77. MSR 00000004h - Pentium - (TR2) INSTRUCTION CACHE END BITS
  78. Size:    4 bits
  79. Access:    Read/Write
  80. Note:    documented as reserved on Pentium MMX
  81. SeeAlso: MSR 00000002h,MSR 00000005h,MSR 80000004h
  82.  
  83. Bitfields for Instruction Cache End Bits (TR2):
  84. Bit(s)    Description    (Table R0003)
  85.  63-4    reserved (0)
  86.  3-0    end bits (each set bit indicates the last byte of an instruction in
  87.       TR3 during code cache access)
  88. Note:    when a new line is written into the code cache, all end bits are set;
  89.       the instruction decoder then clears those bits corresponding to
  90.       bytes which are not the last byte of an instruction
  91. SeeAlso: #R0004
  92. ----------S00000004--------------------------
  93. MSR 00000004h - Cyrix M2 - TEST ADDRESS
  94. SeeAlso: MSR 00000003h"Cyrix",MSR 00000005h"Cyrix"
  95. ----------S00000005--------------------------
  96. MSR 00000005h - Pentium - (TR3) CACHE DATA TEST REGISTER
  97. Size:    32 bits
  98. Access:    Read/Write
  99. SeeAlso: MSR 00000004h,MSR 00000006h,MSR 80000005h
  100.  
  101. Bitfields for Cache Data Test Register (TR3):
  102. Bit(s)    Description    (Table R0004)
  103.  63-32    reserved (0)
  104.  31-0    data read/written from/to cache (code or data)
  105. SeeAlso: #R0005
  106. ----------S00000005--------------------------
  107. MSR 00000005h - Cyrix M2 - COMMAND/STATUS
  108. SeeAlso: MSR 00000004h"Cyrix"
  109. ----------S00000006--------------------------
  110. MSR 00000006h - Pentium - (TR4) CACHE TAG
  111. Size:    32 bits
  112. Access:    Read/Write
  113. SeeAlso: MSR 00000005h,MSR 00000007h,MSR 80000006h
  114.  
  115. Bitfields for Cache Tag Test Register (TR4):
  116. Bit(s)    Description    (Table R0005)
  117.  63-32    reserved (0)
  118.  31-8    cache tag (bits 35-12 of address)
  119.  7-3    reserved (0)
  120.  2    LRU (P54C)
  121.     =0  Way 0
  122.     =1  Way 1
  123.  4-2    LRU (P55C [PentiumMMX])
  124.     =X00  Way 0
  125.     =X10  Way 1
  126.     =0X1  Way 2
  127.     =1X1  Way 3
  128.  1-0    Valid
  129.     ---code cache (selected by TR5)---
  130.     x0 cache line invalid
  131.     x1 cache line valid
  132.     ---data cache (selected by TR5)---
  133.     00 cache line invalid
  134.     01 cache line shared
  135.     10 cache line exclusive
  136.     11 cache line modified
  137. SeeAlso: #R0004,#R0006
  138. ----------S00000007--------------------------
  139. MSR 00000007h - Pentium - (TR5) CACHE CONTROL
  140. Size:    15 bits
  141. Access:    Write
  142. SeeAlso: MSR 00000006h,MSR 00000008h,MSR 80000007h
  143.  
  144. Bitfields for Cache Control Test Register (TR5):
  145. Bit(s)    Description    (Table R0006)
  146.  63-20    reserved (0)
  147.  19    entry[1] (PentiumMMX only)
  148.     combined with bit 12, selects Way within cache set
  149.  18-15    reserved (0)
  150.  14    cache write-back mode (instead of write-through) enabled
  151.  13    select data cache instead of code cache
  152.  12    select Way within cache set
  153.  11-5    cache set number
  154.  4-2    buffer select (specify which 32-bit portion of cache line to access)
  155.  1-0    control
  156.     00 normal operation
  157.     01 test write
  158.     10 test read
  159.     11 flush (action controlled by TR7)
  160.         TR7.CD/TR7.WD    Action
  161.          0    x    invalidate code cache line
  162.          1    0    invalidate data cache line, but don't writeback
  163.          1    1    invalidate data cache line, writeback if dirty
  164. SeeAlso: #R0004,#R0005
  165. ----------S00000008--------------------------
  166. MSR 00000008h - Pentium, PentiumMMX - (TR6) TLB COMMAND
  167. Size:    32 bits
  168. Access:    Read/Write
  169. SeeAlso: MSR 00000007h,MSR 00000009h,MSR 80000008h
  170.  
  171. Bitfields for Pentium TLB Command Test Register:
  172. Bit(s)    Description    (Table R0007)
  173.  63-32    reserved (0)
  174.  31-12    linear address
  175.  11    TLB entry is valid
  176.  10    page is dirty (has been written to)
  177.  9    page may only be accessed from Ring 0
  178.  8    page may be written
  179.  7-3    reserved (0)
  180.  2    page is 4M instead of 4K
  181.  1    data TLB instead of code TLB
  182.  0    operation (0=write, 1=read)
  183. SeeAlso: #R0008
  184. ----------S00000009--------------------------
  185. MSR 00000009h - Pentium, PentiumMMX - (TR7) TLB DATA
  186. Size:    32 bits
  187. Access:    Read/Write
  188. SeeAlso: MSR 00000008h,MSR 0000000Bh,MSR 80000009h
  189.  
  190. Bitfields for Pentium TLB Data Test Register (TR7):
  191. Bit(s)    Description    (Table R0008)
  192.  63-32    reserved (0)
  193.  31-12    physical address
  194.  11    "CD" Page Cache Disable
  195.  10    "WB" Page Write-Through
  196.  9-7    TLB Least-Recently Used value (non-MMX Pentium only)
  197.  6-5    reserved (0) (P54C)
  198.  6-5    bits 5-4 of TLB entry number (PentiumMMX only)
  199.  4    Hit Indicator
  200.  3-0    bits 3-0 of TLB entry number (PentiumMMX only)
  201.  3-2    TLB entry number (non-MMX Pentium)
  202.  1-0    reserved (0) (non-MMX Pentium)
  203. Note:    if a write with bit 4 (Hit Indicator) set is followed by a read, the
  204.       value returned in bit 4 indicates whether the selected address was
  205.       found in the TLB; if found, bits 3-2 indicate which entry contained
  206.       the hit
  207. SeeAlso: #R0007,#R0009
  208. ----------S0000000A--------------------------
  209. MSR 0000000Ah O - Pentium A-step - (TR8) 36-BIT TLB DATA TEST REGISTER
  210. Size:    4 bits
  211. Note:    attempted accesses to this MSR cause an exception on any Pentium except
  212.       A-step chips, since the 36-bit physical addressing feature was
  213.       removed from the Pentium prior to general release
  214. SeeAlso: MSR 8000000Ah
  215.  
  216. Bitfields for Pentium A-step 36-bit addressing Test Register (TR8):
  217. Bit(s)    Description    (Table R0009)
  218.  63-4    reserved (0)
  219.  3-0    high bits of physical address (A35-A32)
  220. SeeAlso: #R0008
  221. ----------S0000000B--------------------------
  222. MSR 0000000Bh - Pentium, PentiumMMX - (TR9) BRANCH TARGET BUFFER TAG
  223. Size:    32 bits
  224. Access:    Read/Write
  225. SeeAlso: MSR 00000009h,MSR 0000000Ch,MSR 8000000Bh
  226.  
  227. Bitfields for non-MMX Pentium Branch Target Buffer Tag (TR9):
  228. Bit(s)    Description    (Table R0010)
  229.  63-32    reserved (0)
  230.  31-6    tag address (bits 31-6 of last byte of branch)
  231.  5-2    reserved (0)
  232.  1-0    history (state of current branch)
  233. SeeAlso: #R0012,#R0013,#R0011
  234.  
  235. Bitfields for PentiumMMX Branch Target Buffer Tag (TR9):
  236. Bit(s)    Description    (Table R0011)
  237.  63-32    reserved
  238.  31-8    tag address (bits 31-8 of last byte of branch)
  239.  7-6    offset (bits 1-0 of last byte of branch)
  240.  5    valid BTB entry
  241.  4    branch is predicted as taken
  242.  3-0    history (state of current branch)
  243. SeeAlso: #R0010
  244. ----------S0000000C--------------------------
  245. MSR 0000000Ch - Pentium, PentiumMMX - (TR10) BRANCH TARGET BUFFER TARGET
  246. Size:    32 bits
  247. Access:    Read/Write
  248. SeeAlso: MSR 0000000Bh,MSR 0000000Dh,MSR 8000000Ch
  249.  
  250. Bitfields for Pentium Branch Target Buffer Target (TR10):
  251. Bit(s)    Description    (Table R0012)
  252.  63-32    reserved (0)
  253.  31-0    target address
  254. SeeAlso: #R0010,#R0013
  255. ----------S0000000D--------------------------
  256. MSR 0000000Dh - Pentium, PentiumMMX - (TR11) BRANCH TARGET BUFFER CONTROL
  257. Size:    12 bits
  258. Access:    Write
  259. SeeAlso: MSR 0000000Ch,MSR 0000000Eh,MSR 8000000Dh
  260.  
  261. Bitfields for Pentium Branch Target Buffer Control (TR11):
  262. Bit(s)    Description    (Table R0013)
  263.  63-26    reserved (0)
  264.  25-24    branch type (PentiumMMX only)
  265.     00 conditional branch
  266.     01 unconditional jump
  267.     10 call
  268.     11 return
  269.  23-13    reserved (0)
  270.  12    bit 2 of test command (PentiumMMX only)
  271.  11-8    BTB set number to access (non-MMX)
  272.  11-8    BTB set number to access (PentiumMMX only)
  273.  7-6    BTB bank (PentiumMMX only)
  274.  5-4    reserved (0)
  275.  3-2    BTB entry (way) within set
  276.  1-0    test command
  277.     00 normal operation
  278.     01 test write
  279.     10 test read
  280.     11 flush
  281.     101 test read tag (PentiumMMX only)
  282. SeeAlso: #R0010,#R0012
  283. ----------S0000000E--------------------------
  284. MSR 0000000Eh - Pentium, K6, C6 - (TR12) NEW FEATURE CONTROL
  285. Size:    10 bits
  286. Access:    Write
  287. SeeAlso: MSR 0000000Dh,MSR 8000000Eh
  288.  
  289. Bitfields for Pentium New Feature Control (TR12):
  290. Bit(s)    Description    (Table R0014)
  291.  63-22    reserved (0)
  292.  21    low-power mode enable
  293.  20    (PentiumMMX only) Data Cache Inhibit (disable internal data cache)
  294.  19    (PentiumMMX only) Code Cache Inhibit (disable internal code cache)
  295.  18-15    reserved (0)
  296.  14    (CPUID=052Bh/052Ch) ignore interrupt immediately after CLI and before
  297.       STI
  298.  13-10    reserved (0)
  299.  9    enable I/O instruction restart for SMM and use different interrupt
  300.       priority
  301.  8    generate fast branch-trace message bus cycles
  302.  7    "FTR" ??? (documented as reserved) (0)
  303.  6    disable auto-halt feature (P54C only)
  304.  5    ??? (documented as reserved) (0)
  305.  4    disable internal APIC (non-MMX Pentium only)
  306.  3    Cache Inhibit (disable internal L1 cache)
  307.  2    Single-Pipe Execution (disable V pipeline)
  308.  1    enable special branch trace message cycle on BTB hit (default = 0)
  309.  0    disable branch prediction (no BTB)
  310. Notes:    the AMD K6 only supports bit 3 (cache inhibit) of this register;
  311.       all other bits should be set to zero
  312.     the Centaur (IDT) WinChip C6 supports bits 9, 6, and 3 of this register
  313. ----------S0000000F--------------------------
  314. MSR 0000000Fh - Pentium - INVALID
  315. Note:    attempted accesses to this MSR cause an exception
  316. SeeAlso: MSR 8000000Fh,MSR 00000003h
  317. ----------S00000010--------------------------
  318. MSR 00000010h - Pentium, Pentium Pro - TIME STAMP COUNTER REGISTER
  319. Size:    64 bits
  320. Access:    Read/Write
  321. Desc:    starting at 00000000h:00000000h on reset, this counter increments on
  322.       every CPU-core clock cycle
  323. Notes:    on a Pentium Pro, only the low 32 bits may be written; on writes, the
  324.       high 32 bits are cleared to 00000000h
  325.     also supported by Pentium II; AMD Am5k86,K5,K6; Cyrix 6x86MX; Centaur
  326.       (IDT) WinChip C6
  327. SeeAlso: MSR 80000010h
  328. ----------S00000011--------------------------
  329. MSR 00000011h - Pentium, Cyrix 6x86MX - EVENT COUNTER SELECTION AND CONTROL
  330. Size:    26 bits
  331. Access:    Read/Write
  332. Note:    also supported by Cyrix 6x86MX and Centaur (IDT) WinChip C6
  333. SeeAlso: MSR 00000012h,MSR 00000013h,MSR 00000186h,MSR 80000011h
  334.  
  335. Bitfields for Pentium Event Counter Control:
  336. Bit(s)    Description    (Table R0015)
  337.  63-27    reserved (0)
  338.  26    (Cyrix 6x86MX only) "ES1" bit 6 of event type for counter 1
  339.  25    external pin PM1 shows counter overflows instead of counter increments
  340.  24    counter 1 counts clock cycles instead of events
  341.  23    enable counter 1 counting in CPL3
  342.  22    enable counter 1 counting in CPL2-0
  343.  21-16    event type for counter 1 (see #R0017)
  344.  15-11    reserved
  345.  10    (Cyrix 6x86MX only) "ES0" bit 6 of event type for counter 0
  346.  9    external pin PM0 shows counter overflows instead of counter increments
  347.  8    counter 0 counts clock cycles instead of events
  348.  7    enable counter 0 counting in CPL3
  349.  6    enable counter 0 counting in CPL2-0
  350.  5-0    event type for counter 0 (see #R0017)
  351. SeeAlso: #R0016
  352.  
  353. Bitfields for IDT WinChip C6 Event Counter Control:
  354. Bit(s)    Description    (Table R0016)
  355.  63-24    reserved
  356.  23-16    counter 1 control (see #R0018)
  357.  15-8    reserved
  358.  7-0    counter 0 control (see #R0018)
  359. SeeAlso: #R0015
  360.  
  361. (Table R0017)
  362. Values for Pentium/6x86MX Event Counter event type:
  363.  00h    data read
  364.  01h    data write
  365.  02h    data TLB miss
  366.  03h    data read miss
  367.  04h    data write miss
  368.  05h    write hit to Modified/Exclusive cache line
  369.  06h    data cache lines written back
  370.  07h    external data cache snoops
  371.  08h    external data cache snoop hits
  372.  09h    simultaneous memory accesses in both pipes
  373.  0Ah    data bank access conflict between U and V pipes
  374.  0Bh    misaligned data memory or I/O references
  375.  0Ch    code read
  376.  0Dh    code TLB miss
  377.  0Eh    code cache miss
  378.  0Fh    any segment register load
  379.  10h    (Pentium only) segment descriptor cache accessed
  380.  11h    (Pentium only) segment descriptor cache hit
  381.  12h    any branch
  382.  13h    BTB hit
  383.  14h    taken branch / BTB hit
  384.  15h    pipeline flushes
  385.  16h    total instructions executed
  386.  17h    instruction executed in V pipe
  387.  18h    bus utilization
  388.  19h    pipeline stalled by write backups
  389.  1Ah    pipeline stalled by data memory read
  390.  1Bh    pipeline stalled by write to Modified/Exclusive cache line
  391.  1Ch    locked bus cycle
  392.  1Dh    I/O cycle
  393.  1Eh    non-cacheable memory references
  394.  1Fh    pipeline stalled by Address Generation Interlock
  395.  20h    source/destination conflict
  396.  21h    (undoc) decoding stalls (could only decode one instruction in a
  397.       particular clock cycle, and that instruction was potentially
  398.       pairable; i.e. if the following instruction could have executed in
  399.       the V pipe, it didn't because it wasn't decoded in time)
  400.  22h    floating-point operations
  401.  23h    Breakpoint 0 match
  402.  24h    Breakpoint 1 match
  403.  25h    Breakpoint 2 match
  404.  26h    Breakpoint 3 match
  405.  27h    hardware interrupt
  406.  28h    data read or data write
  407.  29h    data read/write miss
  408. ---Pentium---
  409.  2Ah-3Fh reserved
  410. ---PentiumMMX---
  411.  2Ah    bus ownership latency (counter 0, duration) or
  412.     bus ownership transfers (counter 1)
  413.  2Bh    MMX instructions executed in U pipe (counter 0) or V pipe (counter 1)
  414.  2Ch    cache M-state line sharing (counter 0) or
  415.     cache line sharing (counter 1)
  416.  2Dh    EMMS instructions executed (counter 0) or
  417.     transitions between MMX/FP (counter 1)
  418.  2Eh    bus use due to processor activity (counter 0, duration) or
  419.     writes to non-cacheable memory (counter 1)
  420.  2Fh    saturating MMX instructions executed (counter 0) or
  421.     saturations performed (counter 1)
  422.  30h    number of cycles not in HLT state (counter 0) or
  423.     number of cycles in HLT state (counter 1)
  424.  31h    MMX instruction data reads (counter 0) or
  425.     MMX instruction data read misses
  426.  32h    floating-point stalls (counter 0) or taken branches (counter 1)
  427.  33h    D1 starvation and FIFO is empty (counter 0) or
  428.     D1 starvation and only one instruction in FIFO (counter 1)
  429.  34h    MMX instruction data writes (counter 0) or
  430.     MMX instruction data write misses (counter 1)
  431.  35h    pipeline flushes due to wrong branch prediction (counter 0) or
  432.     pl. flushes due to wrong branch pred. resolved in WB stage (counter 1)
  433.  36h    misaligned data memory reference on MMX instruction (counter 0) or
  434.     pipeline stalled waiting for MMX instruction data mem read (counter 1)
  435.  37h    returns, predicted incorrectly or not at all (counter 0) or
  436.     total returns predicted (counter 1)
  437.  38h    clocks MMX instruction multiply unit interlock (counter 0) or
  438.     clocks MOVD/MOVQ store stall (counter 1)
  439.  39h    returns (counter 0 only)
  440.  3Ah    BTB false entries (counter 0) or
  441.     BTB prediction miss on not-taken branch (counter 1)
  442.  3Bh    clocks MMX instruction stalled due to full write buffers (counter 0) or
  443.     clocks stalled on MMX instruction write to E or M line (counter 1)
  444. ---6x86MX---
  445.  2Ah    reserved
  446.  2Bh    MMX instructions executed in X pipe (counter 0) or Y pipe (counter 1)
  447.  2Ch    reserved
  448.  2Dh    EMMS instructions executed (counter 0) or
  449.     transitions between MMX/FP (counter 1)
  450.  2Eh    reserved
  451.  2Fh    saturating MMX instructions executed (counter 0) or
  452.     saturations performed (counter 1)
  453.  30h    reserved
  454.  31h    MMX instruction data reads (counter 0 only)
  455.  32h    taken branches (counter 1 only)
  456.  33h-36h reserved
  457.  37h    returns, predicted incorrectly or not at all (counter 0) or
  458.     total returns predicted (counter 1)
  459.  38h    clocks MMX instruction multiply unit interlock (counter 0) or
  460.     clocks MOVD/MOVQ store stall (counter 1)
  461.  39h    returns (counter 0) or return stack buffer overflows (counter 1)
  462.  3Ah    BTB false entries (counter 0) or
  463.     BTB prediction miss on not-taken branch (counter 1)
  464.  3Bh    clocks MMX instruction stalled due to full write buffers (counter 0) or
  465.     clocks stalled on MMX instruction write to E or M line (counter 1)
  466.  3Ch-3Fh reserved
  467.  40h    L2 TLB misses (code or data)
  468.  41h    L2 TLB data miss
  469.  42h    L2 TLB code miss
  470.  43h    L1 TLB miss (code or data)
  471.  44h    TLB flushes
  472.  45h    TLB page invalidations
  473.  46h    TLB page invalidations which hit
  474.  47h    reserved
  475.  48h    instructions decoded
  476.  49h-7Fh reserved
  477. SeeAlso: #R0015,#R0018
  478.  
  479. (Table R0018)
  480. Values for IDT WinChip C6 event:
  481.  00h    internal clocks
  482.  01h    valid cycles reaching writebacks
  483.  02h    x86 instructions
  484.  47h    data read cache misses
  485.  4Ah    data write cache misses
  486.  63h    instruction fetch cache miss
  487. SeeAlso: #R0016,#R0017
  488. ----------S00000012--------------------------
  489. MSR 00000012h - Pentium, Cyrix 6x86MX - EVENT COUNTER #0
  490. Size:    40 bits
  491. Access:    Read/Write
  492. Note:    also supported by Cyrix 6x86MX and Centaur (IDT) WinChip C6
  493. SeeAlso: MSR 00000011h,MSR 00000013h,MSR 80000012h,MSR 000000C1h
  494. ----------S00000013--------------------------
  495. MSR 00000013h - Pentium, Cyrix 6x86MX - EVENT COUNTER #1
  496. Size:    40 bits
  497. Access:    Read/Write
  498. Note:    also supported by Cyrix 6x86MX and Centaur (IDT) WinChip C6
  499. SeeAlso: MSR 00000011h,MSR 00000012h,MSR 80000013h,MSR 000000C2h
  500. ----------S00000014--------------------------
  501. MSR 00000014h - Pentium P54C - bug?
  502. Note:    returns 0 on all reads and ignores any writes for P54C processors with
  503.       CPUID values <= 0524h, rather than causing an exception; possibly due
  504.       to a microcode bug
  505. ----------S00000017--------------------------
  506. MSR 00000017h - Pentium Pro - ???
  507. ----------S00000018--------------------------
  508. MSR 00000018h - Pentium Pro - ???
  509. ----------S0000001B--------------------------
  510. MSR 0000001Bh - Pentium Pro, PentiumII - APIC BASE ADDRESS
  511. SeeAlso: MEM FEE00000h
  512.  
  513. Bitfields for Pentium Pro/PentiumII MSR 0000001Bh:
  514. Bit(s)    Description    (Table R0019)
  515.  63-32    reserved
  516.  31-12    APIC base address bits 31-12
  517.  11    APIC global enable (can not be cleared except through hard reset)
  518.  10-9    reserved
  519.  8    this is the BootStrap Processor
  520.  7-0    reserved
  521. ----------S00000021--------------------------
  522. MSR 00000021h - Pentium II - ???
  523. ----------S0000002A--------------------------
  524. MSR 0000002Ah - Pentium Pro - "EBL_CR_POWERON"
  525. Size:    32 bits
  526. Access:    Read/write
  527.  
  528. Bitfields for Pentium Pro MSR 0000002Ah:
  529. Bit(s)    Description    (Table R0020)
  530.  31-27    reserved
  531.  26    (read-only) Low Power enable
  532.  25    reserved
  533.  24-22    (read-only) clock frequency ratio (see #R0021)
  534.  21-20    (read-only) symmetric arbitration ID
  535.  19-18    ???
  536.  17-16    (read-only) APIC cluster ID
  537.  15    (read-only) FRC [Funtional Redundancy Checking] mode enabled
  538.  14    (read-only) Power-on Reset Vector at 1M instead of 4G
  539.  13    (read-only) IN Order Queue depth is 1 instead of 8
  540.  12    (read-only) BINIT# observation enabled
  541.  11    ???
  542.  10    (read-only) AERR# observation enabled
  543.  9    Execute-BIST enabled
  544.  8    output tri-state enabled
  545.  7    disable BINIT# drive
  546.  6    disable BERR# for initiator internal errors
  547.  5    reserved
  548.  4    disable BERR# for initiator bus requests
  549.  3    disable AERR# drive
  550.  2    disable response error checking
  551.  1    disable data error checking
  552.  0    data bus uses ECC instead of parity
  553.  
  554. (Table R0021)
  555. Values for Pentium Pro/PentiumII clock multiplier:
  556.  0    x2
  557.  1    x4
  558.  2    x3
  559.  4    x2.5
  560.  6    x3.5
  561.  15    x2
  562. SeeAlso: #R0020
  563. ----------S00000032--------------------------
  564. MSR 00000032h - Pentium Pro - ???
  565. ----------S00000033--------------------------
  566. MSR 00000033h - Pentium Pro, PentiumII - "TEST_CTL" TEST CONTROL REGISTER
  567. SeeAlso: 32 bits
  568.  
  569. Bitfields for Pentium Pro MSR 0033h:
  570. Bit(s)    Description    (Table R0022)
  571.  31    (step sB1 and later) disable LOCK# for locked transactions which
  572.       are split across a cache line boundary
  573.  30    (step sB1 and later) disable Instruction Streaming buffers
  574.     --used to work around sB1 errata 58 and 59
  575.  29-0    reserved
  576. ----------S00000034--------------------------
  577. MSR 00000034h - Pentium Pro - ???
  578. ----------S0000003A--------------------------
  579. MSR 0000003Ah - Pentium Pro - ???
  580. ----------S0000003B--------------------------
  581. MSR 0000003Bh - PentiumII - ???
  582. ----------S00000050--------------------------
  583. MSR 00000050h - Pentium Pro - ???
  584. ----------S00000051--------------------------
  585. MSR 00000051h - Pentium Pro - ???
  586. ----------S00000052--------------------------
  587. MSR 00000052h - Pentium Pro - ???
  588. ----------S00000053--------------------------
  589. MSR 00000053h - Pentium Pro - ???
  590. ----------S00000054--------------------------
  591. MSR 00000054h - Pentium Pro - ???
  592. ----------S00000079--------------------------
  593. MSR 00000079h - Pentium Pro, PentiumII - BIOS UPDATE TRIGGER
  594. Size:    32 bits
  595. Access:    Write
  596. Desc:    writing the linear address of a microcode update block (see #00533)
  597.       to this MSR cause the CPU to initiate a microcode load
  598. SeeAlso: INT 15/AX=D042h/BL=01h,MSR 0000008Bh
  599. ----------S00000082--------------------------
  600. MSR 00000082h - AMD Am5k86 (AMD-K5) - ARRAY ACCESS REGISTER
  601. Size:    64 bits
  602. Note:    EDX remains unchanged after an RDMSR to simplify multiple accesses
  603. SeeAlso: MSR 00000083h
  604.  
  605. Bitfields for AMD Am5k86 (AMD-K5) Array Access Register:
  606. Bit(s)    Description    (Table R0023)
  607.  63-40    pointer within array specified below
  608.  39-32    array identifier (see #R0024)
  609.  31-0    array data
  610. SeeAlso: #R0036
  611.  
  612. (Table R0024)
  613. Values for AMD Am5k86 Array Pointer:
  614.  E0h    data cache (data)
  615.  E1h    data cache (linear tag) (see #R0025)
  616.  E4h    code cache (instruction) (see #R0026)
  617.  E5h    code cache (linear tag) (see #R0027)
  618.  E6h    code cache (valid bits) (see #R0028)
  619.  E7h    code cache (branch-prediction bits) (see #R0029)
  620.  E8h    4K TLB (page) (see #R0030)
  621.  E9h    4K TLB (linear tag) (see #R0031)
  622.  EAh    4M TLB (page) (see #R0032)
  623.  EBh    4M TLB (linear tag) (see #R0033)
  624.  ECh    data cache (physical tag) (see #R0034)
  625.  EDh    code cache (physical tag) (see #R0035)
  626. SeeAlso: #R0023
  627.  
  628. Bitfields for AMD AmK586 data cache linear tag:
  629. Bit(s)    Description    (Table R0025)
  630.  31-26    reserved (0)
  631.  25    cache line is dirty
  632.  24    user/supervisor
  633.  23    read/write
  634.  22    0
  635.  21    linear address valid
  636.  20-0    tag
  637. SeeAlso: #R0024,#R0034
  638.  
  639. Bitfields for AMD Am5k86 code cache instruction:
  640. Bit(s)    Description    (Table R0026)
  641.  31-26    reserved (0)
  642.  25    start bit 1
  643.  24    end bit 1
  644.  23    opcode bit 1
  645.  22-21    map (ROPs/MROM) 1
  646.  20-13    byte 1
  647.  12    start bit 0
  648.  11    end bit 0
  649.  10    opcode bit 0
  650.  9-8    map (ROPs/MROM) 0
  651.  7-0    byte 0
  652. SeeAlso: #R0024,#R0027,#R0035
  653.  
  654. Bitfields for Am5k86 code cache linear tag:
  655. Bit(s)    Description    (Table R0027)
  656.  31-20    reserved (0)
  657.  19-0    bits 31-12 of linear address
  658. SeeAlso: #R0024,#R0026,#R0028,#R0035
  659.  
  660. Bitfields for Am5k86 code cache valid bits:
  661. Bit(s)    Description    (Table R0028)
  662.  31-18    reserved (0)
  663.  17    linear tag is valid
  664.  16    user/supervisor
  665.  15-0    bitmask of valid bytes
  666. SeeAlso: #R0024,#R0026,#R0035
  667.  
  668. Bitfields for Am5k86 code cache branch prediction bits:
  669. Bit(s)    Description    (Table R0029)
  670.  31-19    reserved (0)
  671.  18    predicted branch taken
  672.  17-14    offset of last byte of predicted branch instruction within block
  673.  13-12    predicted target column
  674.  11-4    predicted target index
  675.  3-0    target byte
  676. SeeAlso: #R0024
  677.  
  678. Bitfields for Am5k86 4K TLB page:
  679. Bit(s)    Description    (Table R0030)
  680.  31-22    reserved (0)
  681.  21    page cache disable
  682.  20    page write-through
  683.  19-0    page frame address
  684. SeeAlso: #R0024,#R0031,#R0032
  685.  
  686. Bitfields for Am5k86 4K TLB linear tag:
  687. Bit(s)    Description    (Table R0031)
  688.  31-20    reserved (0)
  689.  19    global valid bit
  690.  18    TLB entry is dirty
  691.  17    user/supervisor
  692.  16    read/write
  693.  15    entry is valid
  694.  14-0    tag (bits 31-17 of address)
  695. SeeAlso: #R0024,#R0030,#R0033
  696.  
  697. Bitfields for Am5k86 4M TLB page:
  698. Bit(s)    Description    (Table R0032)
  699.  31-12    reserved (0)
  700.  11    page cache disable
  701.  10    page write-through
  702.  9-0    page frame address
  703. SeeAlso: #R0024,#R0030,#R0033
  704.  
  705. Bitfields for Am5k86 4M TLB linear tag:
  706. Bit(s)    Description    (Table R0033)
  707.  31-15    reserved (0)
  708.  14    global valid bit
  709.  13    TLB entry is dirty
  710.  12    user/supervisor
  711.  11    read/write
  712.  10    entry is valid
  713.  9-0    tag (bits 31-22 of address)
  714. SeeAlso: #R0024,#R0031,#R0032
  715.  
  716. Bitfields for Am5k86 data cache physical tag:
  717. Bit(s)    Description    (Table R0034)
  718.  31-23    reserved (0)
  719.  22-21    MESI status
  720.     00 invalid
  721.     01 shared
  722.     10 modified
  723.     11 exclusive
  724.  20-0    tag (bits 31-11 of physical address)
  725. SeeAlso: #R0024,#R0035
  726.  
  727. Bitfields for Am5k86 code cache physical tag:
  728. Bit(s)    Description    (Table R0035)
  729.  31-21    reserved (0)
  730.  20    valid
  731.  19-0    tag (bits 31-12 of physical address)
  732. SeeAlso: #R0024,#R0034
  733. ----------S00000083--------------------------
  734. MSR 00000083h - AMD Am5k86 (AMD-K5) - HARDWARE CONFIGURATION REGISTER
  735. Size:    8 bits
  736. SeeAlso: MSR 00000082h
  737.  
  738. Bitfields for AMD Am5k86 (AMD-K5) Hardware Configuration Register:
  739. Bit(s)    Description    (Table R0036)
  740.  63-8    reserved
  741.  7    disable data cache
  742.  6    disable instruction cache
  743.  5    disable branch prediction
  744.  4    enable write allocation (stepping 4 and higher only)
  745.  3-1    debug control
  746.     000 off
  747.     001 enable branch trace (requires bit 5 set as well)
  748.     100 enable Probe Mode on debug trap
  749.     other reserved
  750.  0    disable Stopping Processor Clock in Halt and Stop Grant states
  751. SeeAlso: #R0023
  752. ----------S00000085--------------------------
  753. MSR 00000085h - AMD-K5 - WRITE ALLOCATE TOP-OF-MEMORY AND CONTROL REGISTER
  754. Note:    this MSR is supported on K5 models 1/2/3 stepping 4 and higher only
  755. SeeAlso: MSR 00000086h
  756. !!!amd\21062e.pdf p.95
  757. ----------S00000086--------------------------
  758. MSR 00000086h - AMD-K5 - WRITE ALLOCATE PROGRAMMABLE MEMORY RANGE REGISTER
  759. Note:    this MSR is supported on K5 models 1/2/3 stepping 4 and higher only
  760. SeeAlso: MSR 00000085h
  761. ----------S00000088--------------------------
  762. MSR 00000088h - Pentium Pro, PentiumII - "BBL_CR_D0" CHUNK 0 DATA REGISTER
  763. Note:    this register is used to read from and write to L2 cache
  764. SeeAlso: MSR 00000089h,MSR 0000008Ah,MSR 00000116h
  765. ----------S00000089--------------------------
  766. MSR 00000089h - Pentium Pro, PentiumII - "BBL_CR_D1" CHUNK 1 DATA REGISTER
  767. Note:    this register is used to read from and write to L2 cache
  768. SeeAlso: MSR 00000088h,MSR 0000008Ah,MSR 00000116h
  769. ----------S0000008A--------------------------
  770. MSR 0000008Ah - Pentium Pro, PentiumII - "BBL_CR_D2" CHUNK 2 DATA REGISTER
  771. Note:    this register is used to read from and write to L2 cache
  772. SeeAlso: MSR 00000088h,MSR 00000089h,MSR 00000116h
  773. ----------S0000008B--------------------------
  774. MSR 0000008Bh - Pentium Pro - "BIOS_SIGN" BIOS UPDATE SIGNATURE
  775. Size:    64 bits
  776. Access:    Read/Write
  777. Desc:    used to determine which (if any) microcode update has been loaded into
  778.       the CPU
  779. Notes:    whenever a microcode update is loaded, the PentiumPro modifies the
  780.       operation of the CPUID instruction to store both the standard CPUID
  781.       model information and a 32-bit microcode update ID into this MSR; if
  782.       no microcode update has been loaded, the MSR remains unchanged
  783.       (it is normally cleared to 0 before using CPUID to test for updates)
  784.     the low 32 bits of this register (if modified by CPUID) contains the
  785.       standard model/stepping information, while the high 32 bits contain
  786.       the microcode update ID
  787. SeeAlso: MSR 00000079h
  788. ----------S0000008B--------------------------
  789. MSR 0000008Bh - PentiumII - "BBL_CR_D3" CHUNK 3 DATA REGISTER
  790. Notes:    this register is used to read from and write to L2 cache
  791.     whether this MSR is the BIOS update signature or L2 data depends on
  792.       the usage model
  793. SeeAlso: MSR 00000088h,MSR 00000089h,MSR 00000116h
  794. ----------S000000AE--------------------------
  795. MSR 000000AEh - Pentium Pro - ???
  796. ----------S000000C1--------------------------
  797. MSR 000000C1h - Pentium Pro - "PERFCTR0" PERFORMANCE COUNTER REGISTER 0
  798. Note:    the performance measure counted by this MSR is set through MSR 0186h
  799. SeeAlso: MSR 000000C2h,MSR 00000012h,MSR 00000186h
  800. ----------S000000C2--------------------------
  801. MSR 000000C2h - Pentium Pro - "PERFCTR1" PERFORMANCE COUNTER REGISTER 1
  802. Note:    the performance measure counted by this MSR is set through MSR 0187h
  803. SeeAlso: MSR 000000C1h,MSR 00000013h,MSR 00000187h
  804. ----------S000000FE--------------------------
  805. MSR 000000FEh - Pentium Pro - "MTRRcap" MEMORY TYPE RANGE REGISTER CAPABILITIES
  806. Desc:    determine how many and what type of Memory Type Range Registers are
  807.       implemented
  808. SeeAlso: MSR 00000200h,MSR 00000250h,MSR 000002FFh
  809.  
  810. Bitfields for Pentium Pro "MTRRcap" register:
  811. Bit(s)    Description    (Table R0037)
  812.  63-8    ???
  813.  7-0    number of Memory Type Range Registers (at MSR 02xxh)
  814. ----------S00000107--------------------------
  815. MSR 00000107h - Centaur (IDT) WinChip C6 - Feature Control Register #1
  816. Size:    30 bits
  817. SeeAlso: MSR 00000108h,MSR 00000109h
  818.  
  819. Bitfields for Centaur (IDT) WinChip C6 Feature Control Register #1:
  820. Bit(s)    Description    (Table R0038)
  821.  61-31    reserved
  822.  30    enable MOV TRx instructions
  823.  29    disable CPUID instruction
  824.  28    don't use alternative "divide 5 by 2" EFLAGS
  825.     0 = use Centaur (IDT) flags
  826.     1 = use Intel flags
  827.  27-26    reserved
  828.  25-22    stepping ID
  829.  21-17    reserved
  830.  16    enable return stack (default)
  831.  15    disable bus pipelining #NA response
  832.  14    disable data cache
  833.  13    disable instruction cache
  834.  12    reserved
  835.  11    disable page directory cache
  836.  10    reserved
  837.  9    enable MMX instructions (default)
  838.  8    enable data cache updates for PDE/PTE
  839.  7    disable check for self-modifying code
  840.  6    enable linear burst mode
  841.  5    disable #STPCLK support
  842.  4    disable machine check exception
  843.  3    disable power management
  844.  2    enable #MC for internal errors
  845.  1    set CPUID feature flag for CMPXCHG8 instruction
  846.  0    reserved
  847. SeeAlso: #R0039,#R0040
  848. ----------S00000108--------------------------
  849. MSR 00000108h - Centaur (IDT) WinChip C6 - Feature Control Register #2
  850. Size:    64 bits
  851. SeeAlso: MSR 00000107h,MSR 00000109h
  852.  
  853. Bitfields for Centaur (IDT) WinChip C6 Feature Control Register #2:
  854. Bit(s)    Description    (Table R0039)
  855.  63-32    last four bytes of CPUID vendor ID string (see also #R0040)
  856.  31-15    reserved
  857.  14    use alternative CPUID vendor string
  858.  13-12    reserved
  859.  11-8    CPUID family
  860.  7-4    CPUID model
  861.  3-0    reserved
  862. SeeAlso: #R0038,#R0039
  863. ----------S00000109--------------------------
  864. MSR 00000109h - Centaur (IDT) WinChip C6 - Feature Control Register #3
  865. Size:    30 bits
  866. Access:    Write-Only
  867. SeeAlso: MSR 00000107h,MSR 00000108h
  868.  
  869. Bitfields for Centaur (IDT) WinChip C6 Feature Control Register #3:
  870. Bit(s)    Description    (Table R0040)
  871.  63-32    first four bytes of CPUID vendor ID string
  872.  31-0    middle four bytes of CPUID vendor ID string
  873. SeeAlso: #R0039
  874. ----------S00000110--------------------------
  875. MSR 00000110h - Centaur (IDT) WinChip C6 - Memory Configuration Register #0
  876. Size:    64 bits
  877. Access:    Write-Only
  878. SeeAlso: MSR 00000107h,MSR 00000111h,MSR 00000117h"Centaur"
  879.  
  880. Bitfields for Centaur (IDT) WinChip C6 Memory Configuration Register:
  881. Bit(s)    Description    (Table R0041)
  882.  63-44    base address of memory region
  883.  43-32    reserved
  884.  31-12    memory region mask
  885.     (region is hit if (base AND address) == (mask AND address))
  886.  11-5    reserved
  887.  4-3    memory write order
  888.     00 strong ordering
  889.     01 weak for string
  890.     10 weak for stack
  891.     11 weak ordering for all writes
  892.  2    enable write merging for stack writes
  893.  1    enable write merging for string writes
  894.  0    enable write merging for other writes
  895. SeeAlso: #R0045
  896. ----------S00000111--------------------------
  897. MSR 00000111h - Centaur (IDT) WinChip C6 - Memory Configuration Register #1
  898. Size:    64 bits
  899. Access:    Write-Only
  900. SeeAlso: MSR 00000107h,MSR 00000110h,MSR 00000112h,#R0041
  901. ----------S00000112--------------------------
  902. MSR 00000112h - Centaur (IDT) WinChip C6 - Memory Configuration Register #2
  903. Size:    64 bits
  904. Access:    Write-Only
  905. SeeAlso: MSR 00000107h,MSR 00000111h,MSR 00000113h,#R0041
  906. ----------S00000113--------------------------
  907. MSR 00000113h - Centaur (IDT) WinChip C6 - Memory Configuration Register #3
  908. Size:    64 bits
  909. Access:    Write-Only
  910. SeeAlso: MSR 00000107h,MSR 00000112h,MSR 00000114h,#R0041
  911. ----------S00000114--------------------------
  912. MSR 00000114h - Centaur (IDT) WinChip C6 - Memory Configuration Register #4
  913. Size:    64 bits
  914. Access:    Write-Only
  915. SeeAlso: MSR 00000107h,MSR 00000113h,MSR 00000115h,#R0041
  916. ----------S00000115--------------------------
  917. MSR 00000115h - Centaur (IDT) WinChip C6 - Memory Configuration Register #5
  918. Size:    64 bits
  919. Access:    Write-Only
  920. SeeAlso: MSR 00000107h,MSR 00000114h,MSR 00000116h"Centaur",#R0041
  921. ----------S00000116--------------------------
  922. MSR 00000116h - PentiumII - "BBL_CR_ADDR" - SET L2 CACHE ADDRESS
  923. Size:    32 bits
  924. SeeAlso: MSR 00000088h,MSR 00000118h"PentiumII"
  925.  
  926. Bitfields for PentiumII "BBL_CR_ADDR":
  927. Bit(s)    Description    (Table R0042)
  928.  31-3    cache address bits 31-3 (docs say 35-3!)
  929.  2-0    reserved (0) 
  930. ----------S00000116--------------------------
  931. MSR 00000116h - Centaur (IDT) WinChip C6 - Memory Configuration Register #6
  932. Size:    64 bits
  933. Access:    Write-Only
  934. SeeAlso: MSR 00000107h,MSR 00000115h,MSR 00000117h"Centaur",#R0041
  935. ----------S00000117--------------------------
  936. MSR 00000117h - Centaur (IDT) WinChip C6 - Memory Configuration Register #7
  937. Size:    64 bits
  938. Access:    Write-Only
  939. SeeAlso: MSR 00000107h,MSR 00000110h,MSR 00000116h"Centaur",#R0041
  940. ----------S00000118--------------------------
  941. MSR 00000118h - PentiumII - "BBL_CR_DECC" READ/WRITE L2 CACHE ECC BITS
  942. Size:    8 bits
  943. SeeAlso: MSR 00000088h,MSR 00000116h"PentiumII",MSR 00000119h
  944. ----------S00000119--------------------------
  945. MSR 00000119h - PentiumII - "BBL_CR_CTL"
  946. SeeAlso: MSR 00000118h,MSR 0000011Ah
  947.  
  948. Bitfields for PentiumII "BBL_CR_CTL":
  949. Bit(s)    Description    (Table R0043)
  950.  63-19    reserved
  951.  18    use supplied ECC
  952.  17    reserved
  953.  16    L2 hit
  954.  15-14    reserved
  955.  13-12    state from L2 entry
  956.     00 invalid
  957.     01 shared
  958.     10 exclusive
  959.     11 modified
  960.  11-10    way number from L2 cache
  961.  9-8    way number to L2
  962.  7    reserved
  963.  6-5    state to L2 entry (as for bits 13-12)
  964.  4-0    L2 command
  965.     00010 read L2 control register
  966.     00011 write L2 control register
  967.     010mm tag write with data read
  968.     01100 data read with LRU update
  969.     01110 tag read with data read
  970.     01111 tag inquire
  971.     100mm tag write
  972.     ('mm' = MESI state, coded as for bits 13-12)
  973. ----------S0000011A--------------------------
  974. MSR 0000011Ah - PentiumII - "BBL_CR_TRIG" TRIGGER CACHE CONFIGURATION CYCLE
  975. Note:    a write (must write 00000000h!) to this MSR triggers a cache
  976.       configuration access cycle
  977. SeeAlso: MSR 00000088h,MSR 00000118h,MSR 0000011Bh
  978. ----------S0000011B--------------------------
  979. MSR 0000011Bh - PentiumII - "BBL_CR_BUSY" CHECK IF CACHE CONFIG IN PROGRESS
  980. Size:    1 bit
  981. Access:    Read-Only
  982. Note:    if bit 0 is set, an L2 cache configuration access command is in
  983.       progress
  984. SeeAlso: MSR 00000088h,MSR 00000118h,MSR 0000011Ah
  985. ----------S0000011E--------------------------
  986. MSR 0000011Eh - Pentium II - "BBL_CR_CTL3" L2 CACHE CONTROL REGISTER 3
  987. SeeAlso: MSR 00000088h,MSR 00000116h,MSR 0000011Ah,MSR 0000011Bh
  988.  
  989. Bitfields for Pentium II L2 cache control:
  990. Bit(s)    Description    (Table R0044)
  991.  63-26    reserved
  992.  25    (read-only) cache bus fraction
  993.  24    reserved
  994.  23    (read-only) L2 hardware disable
  995.  22-20    supported L2 physical address range
  996.     000  512M
  997.     001    1G
  998.     010    2G
  999.     011    4G
  1000.     100    8G
  1001.     101   16G
  1002.     110   32G
  1003.     111   64G
  1004.  19    reserved
  1005.  18    enable cache state error checking
  1006.  17-13    cache size per bank
  1007.     00001 256K
  1008.     00010 512K
  1009.     00100    1M
  1010.     01000    2M
  1011.     10000    4M
  1012.  12-11    (read-only) number of L2 banks
  1013.  10-9    (read-only) L2 associativity
  1014.     00 direct-mapped
  1015.     01 2-way associative
  1016.     10 4-way associative
  1017.     11 reserved
  1018.  8    L2 cache enabled
  1019.  7    CRTN parity checking enabled
  1020.  6    address parity checking enabled
  1021.  5    enable ECC testing of L2 cache memory
  1022.  4-1    L2 cache latency
  1023.  0    L2 has been configured
  1024. ----------S00000120--------------------------
  1025. MSR 00000120h - Centaur (IDT) WinChip C6 - Memory Config Register Control
  1026. Size: 25 bits
  1027. Access:    Write-Only
  1028. SeeAlso: MSR 00000107h,MSR 00000110h,MSR 00000117h
  1029.  
  1030. Bitfields for Centaur (IDT) WinChip C6 Memory Configuration Control Register:
  1031. Bit(s)    Description    (Table R0045)
  1032.  63-25    reserved
  1033.  24-20    reserved (1)
  1034.  19-5    reserved
  1035.  4    enable weak write ordering
  1036.  3-2    write merging for string writes
  1037.     00 forward combining
  1038.     01 forward/overlapped
  1039.     10 forward/reverse
  1040.     11 forward/reverse/overlap
  1041.  1-0    write merging for non-stack/non-string writes
  1042.     00 forward combining
  1043.     01 forward/overlapped
  1044.     10 forward/reverse
  1045.     11 forward/reverse/overlap
  1046. SeeAlso: #R0041
  1047. ----------S00000131--------------------------
  1048. MSR 00000131h - Pentium Pro - ???
  1049. ----------S0000014E--------------------------
  1050. MSR 0000014Eh - Pentium Pro - ???
  1051. ----------S0000014F--------------------------
  1052. MSR 0000014Fh - Pentium Pro - ???
  1053. ----------S00000150--------------------------
  1054. MSR 00000150h - Pentium Pro - ???
  1055. ----------S00000151--------------------------
  1056. MSR 00000151h - Pentium Pro - ???
  1057. ----------S00000154--------------------------
  1058. MSR 00000154h - Pentium Pro - ???
  1059. ----------S0000015B--------------------------
  1060. MSR 0000015Bh - Pentium Pro - ???
  1061. ----------S0000015F--------------------------
  1062. MSR 0000015Fh - Pentium Pro - ???
  1063. ----------S00000174--------------------------
  1064. MSR 00000174h - Pentium Pro - "SYSENTER_CS" - SYSENTER target CS
  1065. ----------S00000175--------------------------
  1066. MSR 00000175h - Pentium Pro - "SYSENTER_ESP" - SYSENTER target ESP
  1067. ----------S00000176--------------------------
  1068. MSR 00000176h - Pentium Pro - "SYSENTER_EIP" - SYSENTER target EIP
  1069. ----------S00000179--------------------------
  1070. MSR 00000179h - Pentium Pro - "MCG_CAP"
  1071. SeeAlso: MSR 0000017Ah,MSR 0000017Bh
  1072.  
  1073. Bitfields for Pentium Pro "MCG_CAP" register:
  1074. Bit(s)    Description    (Table R0046)
  1075.  63-8    ???
  1076.  7-0    number of MCRs
  1077. ----------S0000017A--------------------------
  1078. MSR 0000017Ah - Pentium Pro - "MCG_STATUS"
  1079. SeeAlso: MSR 00000179h,MSR 0000017Bh
  1080. ----------S0000017B--------------------------
  1081. MSR 0000017Bh - Pentium Pro - "MCG_CTL"
  1082. SeeAlso: MSR 00000179h,MSR 0000017Ah
  1083. ----------S00000186--------------------------
  1084. MSR 00000186h - Pentium Pro - "EVNTSEL0" - PERFORM. COUNTER EVENT SELECTION 0
  1085. Size:    32 bits
  1086. Access:    Read/Write
  1087. SeeAlso: MSR 000000C1h,MSR 00000187h,MSR 00000011h,MSR 00000012h
  1088.  
  1089. Bitfields for Pentium Pro Event Selection MSR:
  1090. Bit(s)    Description    (Table R0047)
  1091.  31-24    CMASK (counter mask)
  1092.     compare actual count for event on this clock cycle with mask; only
  1093.       increment counter if count >= mask (count < mask if bit 23 set)
  1094.  23    invert result of CMASK condition
  1095.  22    enable counting of events
  1096.  21    reserved
  1097.  20    signal performance counter overflows via APIC input
  1098.  19    signal performance counter overflows via BP0/BP1 pin
  1099.  18    count occurrences, not duration
  1100.  17    OS (enable counting in ring 0)
  1101.  16    USER (enable counting in rings 1,2,3)
  1102.  15-8    UMASK (Unit Mask register; set to 0 to enable all count options)
  1103.  7-0    event type (see #R0048)
  1104.  
  1105. (Table R0048)
  1106. Values for Pentium Pro/Pentium II performance event type:
  1107.  00h-01h    documented as unused
  1108.  02h    number of store buffer forwards
  1109.  03h    number of store buffer blocks
  1110.  04h    number of store buffer drain cycles
  1111.  05h    misaligned data memory references
  1112.  06h    segment register loads
  1113.  07h-0Fh    documented as unused
  1114.  10h    executed computational FP operations
  1115.  11h    number of microcode-handled FP exceptions
  1116.  12h    number of multiplies
  1117.  13h    number of divisions
  1118.  14h    divider busy cycles
  1119.  15h-20h    documented as unused
  1120.  21h    L2 address strobes
  1121.  22h    L2 cache data bus wait cycles
  1122.  23h    L2 cache data bus transfer cycles
  1123.  24h    allocated L2-cache lines
  1124.  25h    allocated L2 modified lines
  1125.  26h    removed L2 lines
  1126.  27h    removed modified L2 lines
  1127.  28h    instruction fetches from L2 cache
  1128.  29h    loads requested from L2 cache
  1129.  2Ah    stores into L2 cache
  1130.  2Bh-2Dh    documented as unused
  1131.  2Eh    total L2 requests
  1132.  2Fh-3Fh    documented as unused
  1133.  40h    L1 Data Cache Unit load rquests
  1134.  41h    L1 DCU store requests
  1135.  42h    L1 DCU locked requests
  1136.  43h    total memory references (all types, reads+writes+internal retries)
  1137.  44h    documented as unused
  1138.  45h    L1 allocated lines
  1139.  46h    L1 allocated M-state lines
  1140.  47h    L1 evicted M-state lines
  1141.  48h    L1 outstanding miss cycles (weighted)
  1142.  49h    L1 data TLB misses
  1143.  4Ah-51h    documented as unused
  1144.  52h    (P-II) self-modifying code occurrences
  1145.  53h-5Fh    documented as unused
  1146.  60h    outstanding bus requests
  1147.  61h    number of cycles BNR pin driven
  1148.  62h    DRDY# asserted cycles
  1149.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1150.  63h    number of cycles with LOCK asserted
  1151.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1152.  64h    CPU receiving data cycles
  1153.  65h    burst-read transactions
  1154.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1155.  66h    read for ownership transactions
  1156.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1157.  67h    write-back transactions
  1158.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1159.  68h    instruction-fetch transactions
  1160.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1161.  69h    invalidate transactions
  1162.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1163.  6Ah    partial-write transactions
  1164.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1165.  6Bh    partial transactions
  1166.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1167.  6Ch    I/O transactions
  1168.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1169.  6Dh    deferred transactions
  1170.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1171.  6Eh    burst transactions
  1172.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1173.  6Fh    memory transactions
  1174.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1175.  70h    total of all transactions
  1176.     unit mask 20h to get total counts for ALL CPUs, 00h for this CPU only
  1177.  71h-78h    documented as unused
  1178.  79h    processor not-halted cycles
  1179.  7Ah    cycles in which HIT pin is driven
  1180.  7Bh    cycles in which HITM pin is driven
  1181.  7Ch-7Dh    documented as unused
  1182.  7Eh    bus-snoop stall cycles
  1183.  7Fh    documented as unused
  1184.  80h    instruction fetches
  1185.  81h    instruction fetch misses
  1186.  82h-84h    documented as unused
  1187.  85h    L1 instruction TLB misses
  1188.  86h    instruction-fetch stall cycles
  1189.  87h    instruction-length decoder stall cycles
  1190.  88h-A1h    documented as unused
  1191.  A2h    resource-related stall cycles
  1192.  A3h-AFh    documented as unused
  1193.  B0h    (P-II) MMX instructions executed
  1194.  B1h    (P-II) saturated arithmetic instructions executed
  1195.  B2h    (P-II) MMX uOPs executed on Port #0--3
  1196.  B3h    (P-II) MMX instructions
  1197.     unit mask selects type(s): 01h packed multiply, 02h packed shift,
  1198.       04h pack operations, 08h unpack operations, 10h packed logical,
  1199.       20h packed arithmetic
  1200.  B4h-BFh    documented as unused
  1201.  C0h    retired instructions
  1202.  C1h    retired FLOPs
  1203.  C2h    retired uOPs
  1204.  C3h    documented as unused
  1205.  C4h    retired branch predictions
  1206.  C5h    retired mispredicted branches
  1207.  C6h    total cycles with interrupts disabled
  1208.  C7h    total cycles with interrupts disabled and interrupt(s) pending
  1209.  C8h    received hardware interrupts
  1210.  C9h    retired taken branches
  1211.  CAh    retired taken mispredicted branches
  1212.  CBh    documented as unused
  1213.  CCh    (P-II) transitions between FP and MMX states
  1214.     unit mask: 00h = from MMX to FP, 01h = from FP to MMX
  1215.  CDh    (P-II) SIMD assists (EMMS instructions executed)
  1216.  CEh    (P-II) MMX instructions retired
  1217.  CFh    (P-II) saturated arithmetic instructions retired
  1218.  D0h    decoded instructions
  1219.  D1h    documented as unused
  1220.  D2h    partial stall cycles or events
  1221.  D3h    documented as unused
  1222.  D4h    (P-II) segment rename stalls
  1223.     set unit mask to sum of: 01h for ES, 02h for DS, 04h for FS, 08h for GS
  1224.  D5h    (P-II) segment renames (unit mask as for D4h)
  1225.  D6h    (P-II) retired segment renames
  1226.  D7h-DFh    documented as unused
  1227.  E0h    decoded branch instructinos
  1228.  E1h    documented as unused
  1229.  E2h    BTB misses
  1230.  E3h    documented as unused
  1231.  E4h    bogus branches (predictions generated for non-branch instructions)
  1232.  E5h    documented as unused
  1233.  E6h    number of times BACLEAR asserted (number of static branch predictions)
  1234.  E7h-FFh    documented as unused
  1235. SeeAlso: #R0047
  1236. ----------S00000187--------------------------
  1237. MSR 00000187h - Pentium Pro - "EVNTSEL1" - PERFORM. COUNTER EVENT SELECTION 1
  1238. Size:    32 bits
  1239. Access:    Read/Write
  1240. SeeAlso: MSR 000000C2h,MSR 00000186h,#R0047,MSR 00000011h,MSR 00000013h,#R0047
  1241. ----------S000001D3--------------------------
  1242. MSR 000001D3h - Pentium Pro - ???
  1243. ----------S000001D9--------------------------
  1244. MSR 000001D9h - Pentium Pro, PentiumII - "DEBUGCTLMSR" DEBUGGING CONTROL
  1245. Size:    16 bits
  1246.  
  1247. Bitfields for Pentium Pro Debugging Control MSR:
  1248. Bit(s)    Description    (Table R0049)
  1249.  63-16    reserved
  1250.  15    enable execution trace messages
  1251.  14    enable execution trace messages
  1252.  13-7    reserved
  1253.  6    enable execution trace messages
  1254.  5    performance monitor/Breakpoint pins
  1255.  4    performance monitor/Breakpoint pins
  1256.  3    performance monitor/Breakpoint pins
  1257.  2    performance monitor/Breakpoint pins
  1258.  1    Branch Trap Flag
  1259.  0    enable Last Branch records (see MSR 000001DBh,MSR 000001DCh)
  1260. ----------S000001DB--------------------------
  1261. MSR 000001DBh - Pentium Pro, PentiumII - "LASTBRANCHFROMIP"
  1262. Desc:    stores the address from which a branch was last taken
  1263. SeeAlso: MSR 000001DCh,MSR 000001DDh
  1264. ----------S000001DC--------------------------
  1265. MSR 000001DCh - Pentium Pro, PentiumII - "LASTBRANCHTOIP"
  1266. Desc:    stores the destination address of the last taken branch instruction
  1267. SeeAlso: MSR 000001DBh,MSR 000001DEh
  1268. ----------S000001DD--------------------------
  1269. MSR 000001DDh - Pentium Pro, PentiumII - "LASTINTFROMIP"
  1270. Desc:    stores the address at which an interrupt last occurred
  1271. SeeAlso: MSR 000001DBh,MSR 000001DEh
  1272. ----------S000001DE--------------------------
  1273. MSR 000001DEh - Pentium Pro, PentiumII - "LASTINTTOIP"
  1274. Desc:    stores the address to which the last interrupt caused a branch
  1275. SeeAlso: MSR 000001DCh,MSR 000001DDh
  1276. ----------S000001E0--------------------------
  1277. MSR 000001E0h - Pentium Pro - "ROB_CR_BKUPTMPDR6"
  1278. Size:    >= 3 bits
  1279.  
  1280. Bitfields for Pentium Pro MSR 000001E0h:
  1281. Bit(s)    Description    (Table R0050)
  1282.  63-3    ???
  1283.  2    Fast String Enable (default is enabled)
  1284.  1-0    reserved
  1285. Note:    if bit 2 is set, REP MOVS moves 64 bits each clock cycle if both source
  1286.       and target are QWORD-aligned
  1287. ----------S00000200--------------------------
  1288. MSR 00000200h - Pentium Pro - "MTRRphysBase0"
  1289. SeeAlso: MSR 000000FEh,MSR 00000201h,MSR 00000202h
  1290. ----------S00000201--------------------------
  1291. MSR 00000201h - Pentium Pro - "MTRRphysMask0"
  1292. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000202h
  1293. ----------S00000202--------------------------
  1294. MSR 00000202h - Pentium Pro - "MTRRphysBase1"
  1295. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000203h
  1296. ----------S00000203--------------------------
  1297. MSR 00000203h - Pentium Pro - "MTRRphysMask1"
  1298. SeeAlso: MSR 000000FEh,MSR 00000201h,MSR 00000202h
  1299. ----------S00000204--------------------------
  1300. MSR 00000204h - Pentium Pro - "MTRRphysBase2"
  1301. ----------S00000205--------------------------
  1302. MSR 00000205h - Pentium Pro - "MTRRphysMask2"
  1303. ----------S00000206--------------------------
  1304. MSR 00000206h - Pentium Pro - "MTRRphysBase3"
  1305. ----------S00000207--------------------------
  1306. MSR 00000207h - Pentium Pro - "MTRRphysMask3"
  1307. ----------S00000208--------------------------
  1308. MSR 00000208h - Pentium Pro - "MTRRphysBase4"
  1309. ----------S00000209--------------------------
  1310. MSR 00000209h - Pentium Pro - "MTRRphysMask4"
  1311. ----------S0000020A--------------------------
  1312. MSR 0000020Ah - Pentium Pro - "MTRRphysBase5"
  1313. ----------S0000020B--------------------------
  1314. MSR 0000020Bh - Pentium Pro - "MTRRphysMask5"
  1315. ----------S0000020C--------------------------
  1316. MSR 0000020Ch - Pentium Pro - "MTRRphysBase6"
  1317. ----------S0000020D--------------------------
  1318. MSR 0000020Dh - Pentium Pro - "MTRRphysMask6"
  1319. ----------S0000020E--------------------------
  1320. MSR 0000020Eh - Pentium Pro - "MTRRphysBase7"
  1321. ----------S0000020F--------------------------
  1322. MSR 0000020Fh - Pentium Pro - "MTRRphysMask7"
  1323. ----------S00000250--------------------------
  1324. MSR 00000250h - Pentium Pro - "MTRRfix64K_00000"
  1325. Desc:    control the 64K region from 00000h to 0FFFFh
  1326. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000258h
  1327. ----------S00000258--------------------------
  1328. MSR 00000258h - Pentium Pro - "MTRRfix16K_80000"
  1329. Desc:    control the 16K region from 80000h to 83FFFh
  1330. SeeAlso: MSR 000000FEh,MSR 00000250h,MSR 00000259h
  1331. ----------S00000259--------------------------
  1332. MSR 00000259h - Pentium Pro - "MTRRfix16K_A0000"
  1333. Desc:    control the 16K region from A0000h to A3FFFh
  1334. ----------S00000268--------------------------
  1335. MSR 00000268h - Pentium Pro - "MTRRfix4K_C0000"
  1336. Desc:    control the 4K region from C0000h to C0FFFh
  1337. ----------S00000269--------------------------
  1338. MSR 00000269h - Pentium Pro - "MTRRfix4K_C8000"
  1339. Desc:    control the 4K region from C8000h to C8FFFh
  1340. ----------S0000026A--------------------------
  1341. MSR 0000026Ah - Pentium Pro - "MTRRfix4K_D0000"
  1342. Desc:    control the 4K region from D0000h to D0FFFh
  1343. ----------S0000026B--------------------------
  1344. MSR 0000026Bh - Pentium Pro - "MTRRfix4K_D8000"
  1345. Desc:    control the 64K region from D8000h to D8FFFh
  1346. ----------S0000026C--------------------------
  1347. MSR 0000026Ch - Pentium Pro - "MTRRfix4K_E0000"
  1348. Desc:    control the 64K region from E0000h to E0FFFh
  1349. ----------S0000026D--------------------------
  1350. MSR 0000026Dh - Pentium Pro - "MTRRfix4K_E8000"
  1351. Desc:    control the 64K region from E8000h to E8FFFh
  1352. ----------S0000026E--------------------------
  1353. MSR 0000026Eh - Pentium Pro - "MTRRfix4K_F0000"
  1354. Desc:    control the 64K region from F0000h to F0FFFh
  1355. ----------S0000026F--------------------------
  1356. MSR 0000026Fh - Pentium Pro - "MTRRfix4K_F8000"
  1357. Desc:    control the 64K region from F8000h to F8FFFh
  1358. ----------S00000277--------------------------
  1359. MSR 00000277h - Pentium Pro - Page Attribute Table
  1360. ----------S00000280--------------------------
  1361. MSR 00000280h - PentiumII - ???
  1362. ----------S000002FF--------------------------
  1363. MSR 000002FFh - Pentium Pro - "MTRRdefType" - DEFAULT MEMORY TYPE
  1364. Note:    this MSR sets the memory type to use for any range not claimed by one
  1365.       of the other MTRRs
  1366. SeeAlso: MSR 000000FEh,MSR 00000200h,MSR 00000250h
  1367.  
  1368. Bitfields for Pentium Pro MSR 000002FFh:
  1369. Bit(s)    Description    (Table R0051)
  1370.  63-12    reserved
  1371.  11    "MTRRenable" enable Memory Type Register registers
  1372.  10    Fixed MTRR enable
  1373.  9-3    reserved
  1374.  2-0    default memory type
  1375. ----------S00000400--------------------------
  1376. MSR 00000400h - Pentium Pro - "MC0_CTL" Machine Check Control 0
  1377. SeeAlso: MSR 00000401h,MSR 00000402h,MSR 00000404h,MSR 0000410h
  1378. ----------S00000401--------------------------
  1379. MSR 00000401h - Pentium Pro - "MC0_STATUS" Machine Check Status 0
  1380. SeeAlso: MSR 00000400h,MSR 00000403h
  1381.  
  1382. Bitfields for Pentium Pro Machine Check Status:
  1383. Bit(s)    Description    (Table R0052)
  1384.  63    "MC_STATUS_V"
  1385.  62    "MC_STATUS_O"
  1386.  61    "MC_STATUS_UC"
  1387.  60    "MC_STATUS_EN"
  1388.  59    "MC_STATUS_MISCV"
  1389.  58    "MC_STATUS_ADDRV"
  1390.  57    "MC_STATUS_DAM"
  1391.  56-32    reserved
  1392.  31-16    "MC_STAT_MSCOD"
  1393.  15-0    "MC_STAT_MACCOD"
  1394. ----------S00000402--------------------------
  1395. MSR 00000402h - Pentium Pro - "MC0_ADDR" Machine Check Address 0
  1396. SeeAlso: MSR 00000400h,MSR 00000403h
  1397. ----------S00000403--------------------------
  1398. MSR 00000403h - Pentium Pro - "MC0_MISC"
  1399. SeeAlso: MSR 00000401h,MSR 00000402h
  1400. ----------S00000404--------------------------
  1401. MSR 00000404h - Pentium Pro - "MC1_CTL" Machine Check Control 1
  1402. SeeAlso: MSR 00000400h,MSR 00000408h
  1403. ----------S00000405--------------------------
  1404. MSR 00000405h - Pentium Pro - "MC1_STATUS" Machine Check Status 1
  1405. ----------S00000406--------------------------
  1406. MSR 00000406h - Pentium Pro - "MC1_ADDR" Machine Check Address 1
  1407. ----------S00000407--------------------------
  1408. MSR 00000407h - Pentium Pro - "MC1_MISC"
  1409. ----------S00000408--------------------------
  1410. MSR 00000408h - Pentium Pro - "MC2_CTL" Machine Check Control 2
  1411. SeeAlso: MSR 00000400h,MSR 00000404h,MSR 0000040Ch
  1412. ----------S00000409--------------------------
  1413. MSR 00000409h - Pentium Pro - "MC2_STATUS" Machine Check Status 2
  1414. ----------S0000040A--------------------------
  1415. MSR 0000040Ah - Pentium Pro - "MC2_ADDR" Machine Check Address 2
  1416. ----------S0000040B--------------------------
  1417. MSR 0000040Bh - Pentium Pro - "MC2_MISC"
  1418. ----------S0000040C--------------------------
  1419. MSR 0000040Ch - Pentium II - "MC4_CTL" Machine Check Control 4
  1420. SeeAlso: MSR 000040Dh,MSR 00000400h,MSR 00000404h,MSR 00000408h
  1421. ----------S0000040D--------------------------
  1422. MSR 0000040Dh - Pentium II - "MC4_STATUS" Machine Check Status 4
  1423. SeeAlso: MSR 000040Ch,MSR 000040Eh
  1424. ----------S0000040E--------------------------
  1425. MSR 0000040Eh - Pentium II - "MC4_ADDR" Machine Check Address 4
  1426. SeeAlso: MSR 000040Ch,MSR 000040Dh
  1427. ----------S00000410--------------------------
  1428. MSR 00000410h - Pentium Pro - "MC3_CTL" Machine Check Control 3
  1429. SeeAlso: MSR 00000400h,MSR 00000404h,MSR 0000040Ch
  1430. ----------S00000411--------------------------
  1431. MSR 00000411h - Pentium Pro - "MC3_STATUS" Machine Check Status 3
  1432. ----------S00000412--------------------------
  1433. MSR 00000412h - Pentium Pro - "MC3_ADDR" Machine Check Address 3
  1434. ----------S00000413--------------------------
  1435. MSR 00000413h - Pentium Pro - "MC3_MISC"
  1436. ----------S00001000--------------------------
  1437. MSR 00001000h - IBM 386/486 SLC - PROCESSOR OPERATION REGISTER
  1438. Size:    19 bits
  1439. Access:    Read/Write
  1440. SeeAlso: MSR 00001001h,MSR 00001002h
  1441.  
  1442. Bitfields for IBM 386/486 SLC Processor Operation Register:
  1443. Bit(s)    Description    (Table R0053)
  1444.  63-19    reserved
  1445.  18    (486SLC only) Low Power PLA
  1446.  17    (486SLC only) Bus Read
  1447.  16    (486SLC only) Cache Parity Generate Error
  1448.  15    enable cacheability of NPX operands
  1449.  14    enable PWI ADS
  1450.  13    enable Low Power Halt Mode (HLT instruction stops CPU clock)
  1451.  12    extended Out instruction (CPU waits for READY after any output)
  1452.  11    cache reload bit
  1453.  10    enable internal KEN# signal
  1454.  9    disable cache lock mode
  1455.  8    reserved
  1456.  7    enable cache
  1457.  6    enable DBCS
  1458.  5    enable Power Interrupt
  1459.  4    enable Flush Snooping
  1460.  3    enable Snoop Input
  1461.  2    address line A20 mask (see also #02753,#P0415)
  1462.  1    enable cache parity checking
  1463.  0    Cache Parity Error occurred
  1464. SeeAlso: #R0054,#R0055
  1465. ----------S00001000--------------------------
  1466. MSR 00001000h - Pentium Pro - DEBUG REGISTER 0 
  1467. SeeAlso: MSR 00001001h"Pro",MSR 00001007h"Pro"
  1468. ----------S00001001--------------------------
  1469. MSR 00001001h - IBM 386/486 SLC - CACHE REGION CONTROL REGISTER
  1470. Size:    48 bits
  1471. SeeAlso: MSR 00001000h,MSR 00001002h
  1472.  
  1473. Bitfields for IBM 386/486 SLC Cache Region Control Register:
  1474. Bit(s)    Description    (Table R0054)
  1475.  63-48    reserved
  1476.  47-32    extended memory cache memory limit (number of 64K blocks above 1M
  1477.       which may be cached)
  1478.  31-16    first megabyte read-only flags (each bit represents 64K)
  1479.  15-0    first megabyte cacheable flags (each bit represents 64K)
  1480. SeeAlso: #R0053,#R0055
  1481. ----------S00001001--------------------------
  1482. MSR 00001001h - Pentium Pro - DEBUG REGISTER 1
  1483. SeeAlso: MSR 00001000h"Pro",MSR 00001002h"Pro"
  1484. ----------S00001002--------------------------
  1485. MSR 00001002h - IBM 386/486 SLC - PROCESSOR OPERATION REGISTER
  1486. Size:    30 bits
  1487. SeeAlso: MSR 00001000h,MSR 00001001h,MSR 00001004h
  1488.  
  1489. Bitfields for IBM 386/486 SLC Processor Operation Register:
  1490. Bit(s)    Description    (Table R0055)
  1491.  63-30    reserved
  1492.  29    enable External Dynamic Frequency Shift
  1493.  28    Dynamic Frequency Shift ready
  1494.  27    Dynamic Frequency Shift Mode
  1495.  26-24    clocking mode
  1496.     000 clock x1
  1497.     011 clock doubler
  1498.     100 clock tripler
  1499.  23-0    reserved
  1500. SeeAlso: #R0053,#R0054
  1501. ----------S00001002--------------------------
  1502. MSR 00001002h - Pentium Pro - DEBUG REGISTER 2
  1503. SeeAlso: MSR 00001001h"Pro",MSR 00001003h"Pro"
  1504. ----------S00001003--------------------------
  1505. MSR 00001003h - Pentium Pro - DEBUG REGISTER 3
  1506. SeeAlso: MSR 00001002h"Pro",MSR 00001004h"Pro"
  1507. ----------S00001004--------------------------
  1508. MSR 00001004h - IBM 486BL3 - PROCESSOR CONTROL REGISTER
  1509. Size:    24 bits
  1510. SeeAlso: MSR 00001000h
  1511.  
  1512. Bitfields for IBM 486BL3 Processor Control Register:
  1513. Bit(s)    Description    (Table R0056)
  1514.  63-24    reserved
  1515.  23    OS/2 boot (0=DD1 hardware, 1=DD0 hardware)
  1516.  22    MOV CR0,x Decode
  1517.     0: DD0, DD1A, DD1B, DD1D hardware
  1518.     1: DD1C hardware
  1519.  21    reserved
  1520.  20    Cache Low Power (DD1 only: cache disabled when not in use)
  1521.  19    reserved
  1522.  18    NOP timing
  1523.     0: 2 cycles on DD0, 3 cycles on DD1
  1524.     1: 3 cycles on DD0, 2 cycles on DD1
  1525.  17    bus pipelining for 16-bit accesses
  1526.  16-5    reserved???
  1527.  4    MOVS split
  1528.  3    power-saving cache feature
  1529.  2    reserved
  1530.  1    enable MOV CRx decode
  1531.     (reserved on DD1B, DD1C)
  1532.  0    reserved
  1533. SeeAlso: MSR 00001000h
  1534. ----------S00001004--------------------------
  1535. MSR 00001004h - Pentium Pro - DEBUG REGISTER 4 
  1536. SeeAlso: MSR 00001003h"Pro",MSR 00001005h"Pro"
  1537. ----------S00001005--------------------------
  1538. MSR 00001005h - Pentium Pro - DEBUG REGISTER 5 
  1539. SeeAlso: MSR 00001004h"Pro",MSR 00001006h"Pro"
  1540. ----------S00001006--------------------------
  1541. MSR 00001006h - Pentium Pro - DEBUG REGISTER 6 
  1542. SeeAlso: MSR 00001005h"Pro",MSR 00001007h"Pro"
  1543. ----------S00001007--------------------------
  1544. MSR 00001007h - Pentium Pro - DEBUG REGISTER 7 
  1545. SeeAlso: MSR 00001006h"Pro",MSR 00001000h"Pro",MSR 00002000h"Pro"
  1546. ----------S00002000--------------------------
  1547. MSR 00002000h - Pentium Pro - CONTROL REGISTER 0
  1548. SeeAlso: MSR 00001000h"Pro",MSR 00002002h"Pro"
  1549. ----------S00002002--------------------------
  1550. MSR 00002002h - Pentium Pro - CONTROL REGISTER 2
  1551. SeeAlso: MSR 00002000h"Pro",MSR 00002003h"Pro"
  1552. ----------S00002003--------------------------
  1553. MSR 00002003h - Pentium Pro - CONTROL REGISTER 3
  1554. SeeAlso: MSR 00002002h"Pro",MSR 00002004h"Pro"
  1555. ----------S00002004--------------------------
  1556. MSR 00002004h - Pentium Pro - CONTROL REGISTER 4
  1557. SeeAlso: MSR 00002003h"Pro",MSR 00002000h"Pro"
  1558. ----------S80000000--------------------------
  1559. MSR 80000000h - Pentium - MACHINE CHECK EXCEPTION ADDRESS
  1560. Size:    64 bits
  1561. Access:    Read
  1562. SeeAlso: MSR 00000000h,MSR 80000001h
  1563. ----------S80000001--------------------------
  1564. MSR 80000001h - Pentium - MACHINE CHECK EXCEPTION TYPE
  1565. Size:    6 bits
  1566. Access:    Read
  1567. SeeAlso: MSR 00000001h,MSR 80000000h
  1568. ----------S80000002--------------------------
  1569. MSR 80000002h - Pentium - (TR1) PARITY REVERSAL TEST REGISTER
  1570. Size:    14 bits
  1571. Access:    Write
  1572. SeeAlso: MSR 00000002h
  1573. ----------S80000003--------------------------
  1574. MSR 80000003h - Pentium - unimplemented
  1575. SeeAlso: MSR 00000003h
  1576. ----------S80000004--------------------------
  1577. MSR 80000004h - Pentium - (TR2) INSTRUCTION CACHE END BITS
  1578. Size:    4 bits
  1579. Access:    Read/Write
  1580. SeeAlso: MSR 00000004h
  1581. ----------S80000005--------------------------
  1582. MSR 80000005h - Pentium - (TR3) CACHE DATA TEST REGISTER
  1583. Size:    32 bits
  1584. Access:    Read/Write
  1585. SeeAlso: MSR 00000005h
  1586. ----------S80000006--------------------------
  1587. MSR 80000006h - Pentium - (TR4) CACHE TAG
  1588. Size:    32 bits
  1589. Access:    Read/Write
  1590. SeeAlso: MSR 00000006h
  1591. ----------S80000007--------------------------
  1592. MSR 80000007h - Pentium - (TR5) CACHE CONTROL
  1593. Size:    15 bits
  1594. Access:    Write
  1595. SeeAlso: MSR 00000007h
  1596. ----------S80000008--------------------------
  1597. MSR 80000008h - Pentium - (TR6) TLB COMMAND
  1598. Size:    32 bits
  1599. Access:    Read/Write
  1600. SeeAlso: MSR 00000008h
  1601. ----------S80000009--------------------------
  1602. MSR 80000009h - Pentium - (TR7) TLB DATA
  1603. Size:    32 bits
  1604. Access:    Read/Write
  1605. SeeAlso: MSR 00000009h
  1606. ----------S8000000A--------------------------
  1607. MSR 8000000Ah O - Pentium A-step - (TR8) 36-BIT TLB DATA TEST REGISTER
  1608. Size:    4 bits
  1609. SeeAlso: MSR 0000000Ah,#R0009
  1610. ----------S8000000B--------------------------
  1611. MSR 8000000Bh - Pentium - (TR9) BRANCH TARGET BUFFER TAG
  1612. Size:    32 bits
  1613. Access:    Read/Write
  1614. SeeAlso: MSR 0000000Bh
  1615. ----------S8000000C--------------------------
  1616. MSR 8000000Ch - Pentium - (TR10) BRANCH TARGET BUFFER TARGET
  1617. Size:    32 bits
  1618. Access:    Read/Write
  1619. SeeAlso: MSR 0000000Ch
  1620. ----------S8000000D--------------------------
  1621. MSR 8000000Dh - Pentium - (TR11) BRANCH TARGET BUFFER CONTROL
  1622. Size:    12 bits
  1623. Access:    Write
  1624. SeeAlso: MSR 0000000Dh
  1625. ----------S8000000E--------------------------
  1626. MSR 8000000Eh - Pentium - (TR12) NEW FEATURE CONTROL
  1627. Size:    10 bits
  1628. Access:    Write
  1629. SeeAlso: MSR 0000000Eh
  1630. ----------S8000000F--------------------------
  1631. MSR 8000000Fh - Pentium - ???
  1632. Size:    1 bit???
  1633. Access:    Write
  1634. SeeAlso: MSR 0000000Fh
  1635. ----------S80000010--------------------------
  1636. MSR 80000010h - Pentium - TIME STAMP COUNTER
  1637. Size:    64 bits
  1638. Access:    Read/Write
  1639. SeeAlso: MSR 00000010h
  1640. ----------S80000011--------------------------
  1641. MSR 80000011h - Pentium - EVENT COUNTER SELECTION AND CONTROL
  1642. Size:    26 bits
  1643. Access:    Read/Write
  1644. SeeAlso: MSR 00000011h,MSR 80000012h,MSR 80000013h
  1645. ----------S80000012--------------------------
  1646. MSR 80000012h - Pentium - EVENT COUNTER #0
  1647. Size:    40 bits
  1648. Access:    Read/Write
  1649. SeeAlso: MSR 00000012h,MSR 80000011h,MSR 80000013h
  1650. ----------S80000013--------------------------
  1651. MSR 80000013h - Pentium - EVENT COUNTER #1
  1652. Size:    40 bits
  1653. Access:    Read/Write
  1654. SeeAlso: MSR 00000013h,MSR 80000011h,MSR 80000012h
  1655. ----------S80000014--------------------------
  1656. MSR 80000014h - Pentium - ???
  1657. Access:    Read
  1658. SeeAlso: MSR 00000014h
  1659. ----------S80000015--------------------------
  1660. MSR 80000015h - Pentium - unimplemented???
  1661. ----------S80000016--------------------------
  1662. MSR 80000016h - Pentium - unimplemented???
  1663. ----------S80000017--------------------------
  1664. MSR 80000017h - Pentium - unimplemented???
  1665. ----------S80000018--------------------------
  1666. MSR 80000018h - Pentium - ??? (PAGING-RELATED)
  1667. Size:    4 bits???
  1668. Access:    Read
  1669. ----------S80000019--------------------------
  1670. MSR 80000019h - Pentium - FLOATING POINT - LAST PREFETCHED OPCODE
  1671. Size:    11 bits
  1672. Access:    Read
  1673. Desc:    this register stores the opcode of the last floating-point opcode to
  1674.       be prefetched by the CPU
  1675. SeeAlso: MSR 8000001Ah,MSR 8000001Bh
  1676.  
  1677. Bitfields for Pentium Floating-Point Opcode:
  1678. Bit(s)    Description    (Table R0057)
  1679.  63-11    reserved (0)
  1680.  10-8    low three bits of first byte of floating-point instruction
  1681.  7-0    second byte of floating-point instruction
  1682. Note:    both a standalone FWAIT and the instruction D8h 9Bh are represented
  1683.       as 09Bh
  1684. ----------S8000001A--------------------------
  1685. MSR 8000001Ah - Pentium - FLOATING POINT - LAST NON-CONTROL OPCODE
  1686. Size:    11 bits
  1687. Access:    Read
  1688. SeeAlso: MSR 80000019h,MSR 8000001Bh,#R0057
  1689. ----------S8000001B--------------------------
  1690. MSR 8000001Bh - Pentium - FLOATING POINT - LAST EXCEPTION OPCODE
  1691. Size:    11 bits
  1692. Access:    Read/Write
  1693. SeeAlso: MSR 80000019h,MSR 8000001Ah,#R0057
  1694. ----------S8000001C--------------------------
  1695. MSR 8000001Ch - Pentium - ???
  1696. Size:    4 bits???
  1697. Access:    Read
  1698. ----------S8000001D--------------------------
  1699. MSR 8000001Dh - Pentium - PROBE MODE CONTROL REGISTER
  1700. Size:    32 bits
  1701. Access:    Read/Write
  1702.  
  1703. Bitfields for Probe Mode Control Register:
  1704. Bit(s)    Description    (Table R0058)
  1705.  31    (read-only) System Management Mode is active
  1706.  30-3    reserved (0)
  1707.  2    PB1 monitors breakpoint #1 matches instead of performance counter #1
  1708.  1    PB0 monitors breakpoint #0 matches instead of performance counter #0
  1709.  0    ICEBP enabled (every debug exception enters Probe Mode)
  1710. ----------S8000001E--------------------------
  1711. MSR 8000001Eh - Pentium - ???
  1712. Size:    32 bits
  1713. Access:    Read/Write
  1714. Note:    this may be nothing more than a scratchpad register
  1715. SeeAlso: MSR 8000001Fh
  1716. ----------S8000001F--------------------------
  1717. MSR 8000001Fh - Pentium - ???
  1718. Size:    32 bits
  1719. Access:    Read/Write
  1720. Note:    this may be nothing more than a scratchpad register
  1721. SeeAlso: MSR 8000001Eh
  1722. ----------SC0000080--------------------------
  1723. MSR C0000080h - AMD K6 - EXTENDED FEATURE ENABLE REGISTER
  1724. Size:    1 bit
  1725. SeeAlso: MSR C0000081h,MSR C0000082h
  1726.  
  1727. Bitfields for AMD K6 Extended Feature Enable Register:
  1728. Bit(s)    Description    (Table R0059)
  1729.  63-1    reserved
  1730.  0    system call extension (SYSCALL/SYSRET) enabled
  1731.     when disabled, both instructions generate an Undefined Opcode
  1732.       exception
  1733. Note:    CPUID 80000001h should be checked to determine whether the SYSCALL
  1734.       extension is implemented by the processor
  1735. SeeAlso: #R0060
  1736. ----------SC0000081--------------------------
  1737. MSR C0000081h - AMD K6 - SYSCALL TARGET ADDRESS
  1738. Size:    48 bits
  1739. Note:    if SYSCALL is supported (as indicated by CPUID; SYSCALL is not
  1740.       yet implemented in current steppings of the K6), this MSR specifies
  1741.       the address to which the SYSCALL instruction (opcode 0Fh 05h -- same
  1742.       as 80286 LOADALL!) transfers control, provided it has also been
  1743.       enabled via MSR C0000080h
  1744. SeeAlso: MSR C0000080h,MSR C0000082h
  1745.  
  1746. Bitfields for AMD K6 SYSCALL Target Address Register:
  1747. Bit(s)    Description    (Table R0060)
  1748.  63-48    reserved
  1749.  47-32    CS and SS selector base for SYSCALL/SYSRET
  1750.  31-0    target EIP address for SYSCALL
  1751. SeeAlso: #R0059
  1752. ----------SC0000082--------------------------
  1753. MSR C0000082h - AMD K6 - WRITE-HANDLING CONTROL REGISTER
  1754. Size:    9 bits
  1755. SeeAlso: MSR C0000080h,MSR C0000081h
  1756.  
  1757. Bitfields for AMD K6 Write-Handling Control Register:
  1758. Bit(s)    Description    (Table R0061)
  1759.  63-9    reserved
  1760.  8    write cacheability detection enabled
  1761.  7-1    write allocate enable limit (in 4M units)
  1762.     memory above this limit will not be accessed without a write-allocate
  1763.  0    write allocate enabled for 15-16M region
  1764. Note:    the Intel Triton chipset does not support write cacheability detection,
  1765.       so bit 8 should be kept clear
  1766. --------!---CREDITS--------------------------
  1767. Christian Ludloff's 80x86.CPU
  1768. Alex V. Potemkin's Opcodes List (OPCODES.LST)
  1769. Intel Pentium Pro Family User's Guide, Volume 3, Appendix C
  1770. --------!---Admin----------------------------
  1771. Highest Table Number = R0061
  1772. --------!---FILELIST-------------------------
  1773. Please redistribute all of the files comprising the interrupt list (listed at
  1774. the beginning of the list and in INTERRUP.1ST) unmodified as a group, in a
  1775. quartet of archives named INTER60A through INTER60D (preferably the original
  1776. authenticated PKZIP archives), and the utility and hypertext conversion
  1777. programs in three additional archives called INTER60E.ZIP to INTER60G.ZIP.
  1778.  
  1779. Copyright (c) 1989,1990,1991,1992,1993,1994,1995,1996,1997,1998,1999 Ralf Brown
  1780. --------!---CONTACT_INFO---------------------
  1781. Internet: ralf@pobox.com (currently forwards to ralf@telerama.lm.com)
  1782. FIDO: Ralf Brown 1:129/26.1
  1783.